package com.imooc.pan.file.entity.es;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.imooc.pan.web.serializer.Date2StringSerializer;
import com.imooc.pan.web.serializer.IdEncryptSerializer;
import lombok.Data;
import org.dromara.easyes.annotation.HighLight;
import org.dromara.easyes.annotation.IndexName;

import java.io.Serializable;
import java.util.Date;

/**
 * @author Janson
 * @Description mysql es 数据同步消息实体
 * @Date 2023/7/28
 */
@Data
@IndexName(value = "filemessagees")
public class FileMessageEs implements Serializable {
    
    /**
     * 主键 id
     */
    private String id;
    
    /**
     * 文件记录ID
     */
    @JsonSerialize(using = IdEncryptSerializer.class)
    private Long fileId;
    
    
    /**
     * 上级文件夹ID,顶级文件夹为0
     */
    @JsonSerialize(using = IdEncryptSerializer.class)
    private Long parentId;
    
    /**
     * 上级文件夹名称,顶级文件夹为0
     */
    private String parentFilename;
    
    /**
     * 用户ID
     */
    @JsonSerialize(using = IdEncryptSerializer.class)
    private Long userId;
    /**
     * 文件名
     * 文档内容,指定了类型及存储/查询分词器
     */
    @HighLight(preTag = "<font class='eslight'>",postTag = "</font>")
    private String filename;
    
    /**
     * 是否是文件夹 （0 否 1 是）
     */
    private Integer folderFlag;
    
    /**
     * 删除标识（0 否 1 是）
     */
    private Integer delFlag;
    
    /**
     * 文件大小展示字符
     */
    private String fileSizeDesc;
    
    /**
     * 文件类型（1 普通文件 2 压缩文件 3 excel 4 word 5 pdf 6 txt 7 图片 8 音频 9 视频 10 ppt 11 源码文件 12 csv）
     */
    private Integer fileType;
    
    
    /**
     * 更新时间
     */
    @JsonSerialize(using = Date2StringSerializer.class)
    private Date updateTime;
    
    private static final long serialVersionUID = 1L;
}
